
#pragma once


#include "header.h"

#include "Font.h"
#include "FontRenderer.h"
#include "D3DXSprite.h"
#include "DrawGrid.h"
#include "Debug.h"

#include "GameState.h"
#include <string>
#include "list"


using namespace cgGame;
using namespace cgMath;
using namespace std;


class CScreenManager
{
public:
	CScreenManager(HWND hwnd, LPDIRECT3DDEVICE9 d3dDevice);
	~CScreenManager();

	bool				InitScreenObjects();
	void				UpdatePositionData();

	void				RenderSlideBar(float timeDelta);
	void				RenderObjects(float timeDelta);


private:
	HWND				m_hWnd;
	LPDIRECT3DDEVICE9	m_pD3DDevice;

	CFont*				m_pFont;
	CFontRenderer*		m_pFontRender;
	CDrawGrid*			m_pDrawGrid;
	CDebug*				m_pDebug;

	CD3DXSprite*		m_pHunterSprite;

	CD3DXSprite*		m_pBulletSprite;
	CD3DXSprite*		m_pBulletHitSprite;

	CD3DXSprite*		m_pAnimalNormalSprite;
	CD3DXSprite*		m_pAnimalEdibleSprite;
	CD3DXSprite*		m_pAnimalBigSprite;
	CD3DXSprite*		m_pAnimalFastSprite;

	CD3DXSprite*		m_pObsWallSprite;
	CD3DXSprite*		m_pObsStoneSprite;
	CD3DXSprite*		m_pObsForestSprite;
	CD3DXSprite*		m_pObsWaterSprite;

	CD3DXSprite*		m_pObsStarSprite;
	CD3DXSprite*		m_pObsBombSprite;
	CD3DXSprite*		m_pObsLifeSprite;
	CD3DXSprite*		m_pObsTimeStillSprite;

	CD3DXSprite*		m_pHunterBaseSprite;
	CD3DXSprite*		m_pBaseDestoryedSprite;

	CD3DXSprite*		m_pBgroundSprite;

	CD3DXSprite*		m_pCharDieAnimSprite;
	CD3DXSprite*		m_pCharBornAnimSprite;

	CGameState*			m_pGameState;

};